A font is a family of characters of a given style, typically used in printing. A font character is one symbol in the font.
Font characters are typically defined as a predetermined arrangement of data. For example, bytes of data may be arranged or stacked to produce the desired character. The bytes are made from numerous bits of information. In a printing system such as an ink-jet printer, font characters are created from ink dots that are positioned on a page. In such a system, each ink dot is represented by one bit of information. Thus, the data may be arranged so that each bit is positioned analogously to the desired position of an ink dot on a page.
In computer printing systems, fonts are often stored in a printer's memory and accessed by commands from a host computer. The more characters in the font, the more memory that is needed to store them. The total memory needed to store the font is referred to as the font size.
Memory is expensive, so font data is often compressed and then decompressed. The greater the compression the less memory required. However, compression and decompression methods are often complex and time consuming.
The invented compression and decompression methods, device and resulting data structure constitute a successful compromise between the amount of compression, the complexity of the compression and decompression, and the time needed to compress and decompress data. In other words, the invention allows for data such as font character data to be compressed into a smallersized memory, resulting in a less expensive printing system or a printing system which has more font characters for the same cost, while avoiding undue complexity and impractical time restraints.